package com.adong.juc;

public class LambdaDemo {
    public static void main(String[] args) {

        /*Foo foo = new Foo() {
            @Override
            public int add(int x, int y) {
                return x + y;
            }
        };

        System.out.println(foo.add(1, 2));*/

        // lambda写法,接口只能有一个方法
        Foo foo = (x, y) -> {
            return x + y;
        };
        System.out.println(foo.add(1, 2));
    }

}

/**
 * lambda表达式，必须是函数式接口，必须只有一个方法
 * 如果接口只有一个方法java默认它为函数式接口。
 * 为了正确使用Lambda表达式，需要给接口加个注解：@FunctionalInterface
 */
@FunctionalInterface
interface Foo {
    public int add(int x, int y);

}